<?php
class download extends Controller {
	function download(){
		parent::Controller();	
	}
	
	function item($filename=NULL,$filetype=NULL){
		// required for IE, otherwise Content-disposition is ignored
		if($filetype=='image'){
			$path = realpath("./sknimg/i-see-attr/imageAttachment/".$filename."");
		}elseif($filetype=='file'){
			$path = realpath("./sknimg/i-see-attr/fileAttachment/".$filename."");
		}
		
		if(ini_get('zlib.output_compression'))
		  ini_set('zlib.output_compression', 'Off');
		
		// addition by Jorg Weske
		$file_extension = strtolower(substr(strrchr($filename,"."),1));
		
		if( $filename == "" ) {
		  exit;
		} elseif ( ! file_exists($path)) {
		  exit;
		};
		switch( $file_extension )
		{
		  case "pdf": $ctype="application/pdf"; break;
		  case "exe": $ctype="application/octet-stream"; break;
		  case "zip": $ctype="application/zip"; break;
		  case "doc": $ctype="application/msword"; break;
		  case "xls": $ctype="application/vnd.ms-excel"; break;
		  case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
		  case "gif": $ctype="image/gif"; break;
		  case "png": $ctype="image/png"; break;
		  case "jpeg":
		  case "jpg": $ctype="image/jpg"; break;
		  default: $ctype="application/force-download";
		}
		header("Pragma: public"); // required
		header("Expires: 0");
		header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
		header("Cache-Control: private",false); // required for certain browsers 
		header("Content-Type: $ctype");
		// change, added quotes to allow spaces in filenames, by Rajkumar Singh
		header("Content-Disposition: attachment; filename=\"".basename($path)."\";" );
		header("Content-Transfer-Encoding: binary");
		header("Content-Length: ".filesize($path));
		readfile("$path");
		exit();
	}
}